import java.lang.Math;
import java.net.*;
import java.io.*;

public class Ver implements Serializable
{
	private String kname;
	private String ksurname;
	private Mitarbeiter mitarbeiter;
	private int bsumme;
	private double provsatz;
	private double prov;
	private int aw;
	private double aw1;
	private double regelbesparung;
	private double aw2;
	private String tarif;
	private double wert_pro_stueck;
	private int anzahl;
	private String wpName;
	private double hoehe;
	private boolean versicherungspaket;
	
	public Ver(String zielname, String kname, String ksurname, double hoehe, boolean versicherungspaket, double prov, Mitarbeiter mitarbeiter)
	{
		this.kname = kname;
		this.ksurname = ksurname;
		this.hoehe = hoehe;
		this.versicherungspaket = versicherungspaket;
		this.prov = prov;
		this.mitarbeiter = mitarbeiter;
	}
	
	public Ver(String zielname, String kname, String ksurname, String tarif, double prov, Mitarbeiter mitarbeiter)
	{
		this.kname = kname;
		this.ksurname = ksurname;
		this.tarif = tarif;
		this.prov = prov;
		this.mitarbeiter = mitarbeiter;
	}
	
	public Ver(String zielname, String kname, String ksurname, double hoehe, Mitarbeiter mitarbeiter)
	{
		this.kname = kname;
		this.ksurname = ksurname;
		this.hoehe = hoehe;
		this.mitarbeiter = mitarbeiter;
		this.prov = 1;
	}
	
	public Ver(String zielname, String kname, String ksurname, int anzahl, double hoehe,double aa, String tarif, Mitarbeiter mitarbeiter)
	{
		this.kname = kname;
		// System.out.println("Test:"+this.kname+kname);
		this.ksurname = ksurname;
		this.tarif = tarif;
		this.provsatz = aa;
		this.mitarbeiter = mitarbeiter;
		this.anzahl = anzahl;
		this.hoehe = hoehe;
		this.prov = anzahl * hoehe;
	}
	
	public Ver(String zielname, String kname, String ksurname, String tarif, int prov, Mitarbeiter mitarbeiter)
	{
			this.kname = kname;
			this.ksurname = ksurname;
			this.tarif = tarif;
			this.mitarbeiter = mitarbeiter;
			this.prov = prov;
	}
	
	public Ver(String zielname,String kname, String ksurname, double wert_pro_stueck, double provsatz, int anzahl, String wpName, Mitarbeiter mitarbeiter)
	{
		this.kname = kname;
		this.ksurname = ksurname;
		this.wert_pro_stueck = wert_pro_stueck;
		this.provsatz = provsatz;
		this.anzahl = anzahl;
		this.prov = (wert_pro_stueck*provsatz*anzahl)/100;
		this.wpName = wpName;
		this.mitarbeiter = mitarbeiter;
	}
		
	public Ver(String zielname, String kname, String ksurname, int bsumme, double provsatz, int aw,double regelbesparung, String tarif, Mitarbeiter mitarbeiter)
	{	
		// addBshVertrag(bsumme,provsatz,aw,tarif);
			this.kname = kname;
			this.ksurname = ksurname;
			this.mitarbeiter = mitarbeiter;
			this.bsumme = bsumme;
			this.provsatz = provsatz;
			this.aw = aw;
			this.regelbesparung = regelbesparung;
			// while(regelbesparung <0)
			// {
				if(regelbesparung < 2.5)
				{	
					aw1 = 0.92-0.15; // 115% Basis -20% Abschlag - 15% Provision Mitarbeiter ausgezahlt
					aw2 = 0.48-0.09; // 60% Basis -20% Abschlag - 9% Provision Mitarbeiter ausgezahlt
				}
				else if(regelbesparung >= 2.5 && regelbesparung <5)
				{
					aw1 = 1.15-0.15; //115% Basis - 15% Provision Mitarbeiter ausgezahlt
					aw2 = 0.60-0.09; // 60% Basis - 9% Privision Mitarbeiter ausgezahlt
				}
				else if(regelbesparung >=5)
				{
					aw1 = 1.38-0.15; //115% Basis +20% Aufschlag -15% Provision Mitarbeiter ausgezahlt
					aw2 = 0.72-0.09; //60% Basis +20% Aufschlag - 9% Provision Mitarbeiter ausgezahlt
				}
				else
				{
					System.out.println("Keine negative Regelbesparung möglich!\nGib die Regelbesparung in Promille an");
					java.util.Scanner eingabe = new java.util.Scanner(System.in);
					this.regelbesparung = eingabe.nextDouble();
				}
			// }
					if(aw == 1)
						this.prov = ((bsumme*provsatz*aw1)/100);
					else if (aw == 2)
						this.prov = ((bsumme*provsatz*aw2)/100);
					else
						System.out.println("Keine Provision gebucht");
			this.tarif = tarif;
	}
	
	public String getKname()
	{
		return kname;
	}
	
	public String getKsurname()
	{
		return ksurname;
	}
	
	public Mitarbeiter getMitarbeiter()
	{
		return mitarbeiter;
	}
	
		
	
	public double getProv()
	{
		return prov;
	}
	
	public int getBsumme()
	{
		return bsumme;
	}
	
	public String getTarif()
	{
		return tarif;
	}
	
	public int getAw()
	{
		return aw;
	}
	
	public int getAnzahl()
	{
		// System.out.println(anzahl);
		return anzahl;
	}
	
	public double getStueckwert()
	{
		return wert_pro_stueck;
	}
	
	public String getWpName()
	{
		return wpName;
	}
	
	public double getHoehe()
	{
		return hoehe;
	}
	
	public boolean getVersicherungspaket()
	{
		return versicherungspaket;
	}
}

	
	
	